/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ejemplojtree;

import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTree;
import javax.swing.WindowConstants;
import javax.swing.tree.DefaultMutableTreeNode;
import javax.swing.tree.DefaultTreeModel;

/**
 *
 * @author orve
 */
public class EjemploJTree {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        DefaultMutableTreeNode principal = new DefaultMutableTreeNode("Biblioteca");
        DefaultTreeModel modelo = new DefaultTreeModel(principal);
        JTree tree = new JTree(modelo);

        // Construccion de los datos del arbol
        DefaultMutableTreeNode libros = new DefaultMutableTreeNode("Libros");
        DefaultMutableTreeNode revistas = new DefaultMutableTreeNode("Revistas");
        
        modelo.insertNodeInto(libros, principal, 0);
        modelo.insertNodeInto(revistas, principal, 1);
////////////

        DefaultMutableTreeNode sistemas = new DefaultMutableTreeNode("Ing. Sistemas");
        DefaultMutableTreeNode mecanica = new DefaultMutableTreeNode("Ing. Mecanica");
        DefaultMutableTreeNode electronica = new DefaultMutableTreeNode("Ing. Electrica");
        DefaultMutableTreeNode matematicas = new DefaultMutableTreeNode("Matematicas");
        
        DefaultMutableTreeNode cal1 = new DefaultMutableTreeNode("Calculo Integral");
        DefaultMutableTreeNode cal2 = new DefaultMutableTreeNode("Calculo Vectorial");
        
        
        DefaultMutableTreeNode sistD = new DefaultMutableTreeNode("Sistemas Digitales");
        DefaultMutableTreeNode java = new DefaultMutableTreeNode("Java para estudiantes");
        
        DefaultMutableTreeNode fisica = new DefaultMutableTreeNode("Fisica de Fluidos I");
        DefaultMutableTreeNode  ley = new DefaultMutableTreeNode("Leyes de Newton");
        
        
        DefaultMutableTreeNode español = new DefaultMutableTreeNode("Español");
        DefaultMutableTreeNode ingles = new DefaultMutableTreeNode("Ingles");
              
        
        //**************************
        modelo.insertNodeInto(sistD, sistemas, 0);
        modelo.insertNodeInto(java, sistemas, 1);
        
        
        //******************************
        modelo.insertNodeInto(sistemas, libros, 0);
        modelo.insertNodeInto(mecanica, libros, 1);
        modelo.insertNodeInto(electronica, libros, 2);
        modelo.insertNodeInto(matematicas, libros, 3);
        //******************************
        
        modelo.insertNodeInto(cal1, matematicas, 0);
        modelo.insertNodeInto(cal2, matematicas, 1);
        //*********************************
        
        modelo.insertNodeInto(español, revistas, 0);
        modelo.insertNodeInto(ingles, revistas, 1);
        
        //******************************
        modelo.insertNodeInto(ley, mecanica, 0);
        modelo.insertNodeInto(fisica, mecanica, 1);
//***************************
        
        
       // Ultimo intento
        // Construccion y visualizacion de la ventana
        JFrame v = new JFrame("Libros");
        JScrollPane scroll = new JScrollPane(tree);
        v.setBackground(Color.PINK);
        
        v.getContentPane().add(scroll);
        v.pack();
        v.setVisible(true);
        v.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
}
